package com.zh.note.leetcode.greedy;

/**
 * 376. 摆动序列
 */
public class LC_376_wiggleMaxLength {

    public int wiggleMaxLength(int[] nums) {
        if (nums.length == 1) {
            return 1;
        }
        int preDiff = 0;// 前一对差值
        int curDiff = 0;// 当前一对差值
        int result = 1; // 记录峰值个数，序列默认序列最右边有一个峰值
        for (int i = 0; i < nums.length - 1; i++) {
            curDiff = nums[i + 1] - nums[i];
            if ((preDiff >= 0 && curDiff < 0) || (preDiff <= 0 && curDiff > 0)) {  // 出现峰值
                result++;
                preDiff = curDiff;
            }
        }
        return result;

    }
}
